/**
 * 
 */
package galacticthrone.map.data;

import galacticthrone.map.data.obs.SolarSystem;

import java.util.ArrayList;
import java.util.List;

// TODO Javadoc
/**
 * <br>
 *
 * @author Jaco van der Westhuizen
 */
public class DataMap
{
    /**
     * The terrain map.
     */
    public final Cell[][] tiles;

    /**
     * The list of solar systems.
     */
    public final List<SolarSystem> systems = new ArrayList<SolarSystem>();

    /**
     * The east-west dimension of the map.
     */
    public final int sizeX;

    /**
     * The south-north dimension of the map.
     */
    public final int sizeY;

    /**
     * Creates an empty map with the specified dimensions.
     * 
     * @param sizeX East-west length.
     * @param sizeY South-north length.
     */
    public DataMap(int sizeX, int sizeY)
    {
        this.sizeX = sizeX;
        this.sizeY = sizeY;
        this.tiles = new Cell[sizeX][sizeY];

        for (int y = 0; y < sizeY; y++)
        {
            for (int x = 0; x < sizeX; x++)
            {
                tiles[x][y] = new Cell();
            }
        }
    }
    
    public void processTurn()
    {
        // TODO Loop through warp fleets for movement
        // TODO Loop through all fleets for actions
        // TODO Loop through planets, star bases, city-ships for economy
        // TODO Loop through jump fleets for movement
    }
}
